import 'package:get/get.dart';
import '../../routes/app_routes.dart';
import '../../function/state/user_state.dart';
import '../../function/state/plant_record_state.dart';
import '../../function/state/plant_encyclopedia_state.dart';
import '../../function/state/follow_state.dart';
import '../../function/state/post_state.dart';
import '../../function/state/like_state.dart';
import '../../function/state/comment_state.dart';
import '../../function/state/chat_group_state.dart';

/// 启动页面逻辑控制器
/// 使用GetX进行页面逻辑分离
class SplashController extends GetxController {
  @override
  void onInit() {
    super.onInit();
    // 初始化全局用户状态
    _initializeGlobalState();
    // 启动页面初始化后开始倒计时
    _startSplashTimer();
  }

  /// 初始化全局状态
  void _initializeGlobalState() {
    // 初始化用户状态管理
    if (!Get.isRegistered<UserState>()) {
      Get.put(UserState(), permanent: true);
    }

    // 初始化植物记录状态管理
    if (!Get.isRegistered<PlantRecordState>()) {
      Get.put(PlantRecordState(), permanent: true);
    }

    // 初始化植物百科状态管理
    if (!Get.isRegistered<PlantEncyclopediaState>()) {
      Get.put(PlantEncyclopediaState(), permanent: true);
    }

    // 初始化关注状态管理
    if (!Get.isRegistered<FollowState>()) {
      Get.put(FollowState(), permanent: true);
    }

    // 初始化帖子状态管理
    if (!Get.isRegistered<PostState>()) {
      Get.put(PostState(), permanent: true);
    }

    // 初始化点赞状态管理
    if (!Get.isRegistered<LikeState>()) {
      Get.put(LikeState(), permanent: true);
    }

    // 初始化评论状态管理
    if (!Get.isRegistered<CommentState>()) {
      Get.put(CommentState(), permanent: true);
    }

    // 初始化群聊状态管理
    if (!Get.isRegistered<ChatGroupState>()) {
      Get.put(ChatGroupState(), permanent: true);
    }
  }

  /// 启动页面倒计时
  void _startSplashTimer() {
    // 等待3秒后跳转到主页面
    Future.delayed(const Duration(seconds: 3), () {
      _navigateToMainPage();
    });
  }

  /// 跳转到主页面
  void _navigateToMainPage() {
    // 使用GetX路由跳转到主页面
    Get.offAllNamed(AppRoutes.primary);
  }
}
